/**
 * 
 */
package com.yidu.drug.action;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.drug.common.Page;
import com.yidu.drug.common.Tools;
import com.yidu.drug.model.DrugManagerModel;
import com.yidu.drug.model.WholesaleDetailModel;
import com.yidu.drug.model.WholesaleModel;
import com.yidu.drug.service.WholesaleDetaiService;
import com.yidu.drug.service.WholesaleService;

/**
 * 类的描述 批发订单详情action层
 * @author yuanqing
 * @date 2018年8月16日上午10:43:52
 * @version 1.0
 */
@Controller
@RequestMapping("/wholesale")
public class WholesaleAction {
	@Resource
	WholesaleService wls;
	
	@Resource
	WholesaleDetaiService wholesaleDetaiService;
	/**
	 * 查询所有和条件查询分页
	 * @param response 响应
	 * @param me 会员对象
	 * @param page 页数
	 * @param limit 行数
	 * @return
	 */
	@RequestMapping("wholesaleFindAll")
	@ResponseBody
	public Map<String, Object> findAll(HttpSession session,HttpServletResponse response,WholesaleModel wl,int page,int limit,String dateOne,String dateTwo) {
		//获取session对象
		DrugManagerModel manager = (DrugManagerModel) session.getAttribute("manager");
		//进行编码
		response.setCharacterEncoding("UTF-8");
		//new page
		Page pages = new Page();
		//加入分页
		pages.setPage(page);
		//加入行数
		pages.setRows(limit);
		//new map集合
		Map<String,String> map=new HashMap<>();
		//加入批发人
		map.put("pfPerson", wl.getPfPerson());
		//加入公司id
		map.put("filId", manager.getFilId());
		//加入是否有效
		map.put("isva", wl.getIsva());
		//加入页
		map.put("start", String.valueOf(pages.getStart()));
		//加入行数
		map.put("rows", String.valueOf(pages.getRows()));
		//当不等于dateOne 并且不等于dateTwo
		if(!Tools.isEmpty(dateOne)&&!Tools.isEmpty(dateTwo)){
			//对比时间大于0
			if(dateOne.compareTo(dateTwo)>0){
				//加入map集合
				map.put("dateOne", dateTwo);
				//加入map集合
				map.put("dateTwo", dateOne);
			}else{
				//加入map集合
				map.put("dateOne", dateOne);
				//加入map集合
				map.put("dateTwo", dateTwo);
			}
			//否则不等于dateOne并且dateTwo不等于
		}else if(!Tools.isEmpty(dateOne)&&Tools.isEmpty(dateTwo)){
			//加入map集合
			map.put("dateOne", dateOne);
			//否则不等于dateTwo并且dateOne不等于
		}else if(!Tools.isEmpty(dateTwo)&&Tools.isEmpty(dateOne)){
			//加入map
			map.put("dateTwo", dateTwo);
		}
		
		List<WholesaleModel> list = wls.findAllPage(map);
		Map<String, Object> maps = new HashMap<>();
		//需要符合layUI格式，code msg count data
		maps.put("code", 0);
		maps.put("msg", "1");
		maps.put("count", wls.findTotalRows(map));
		maps.put("data", list);
		wl=new WholesaleModel();
		
		return maps;
	}
	
	
	/**
	 * 查询所有和条件查询分页(批发退货)
	 * @param response 响应
	 * @param me 会员对象
	 * @param page 页数
	 * @param limit 行数
	 * @return
	 */
	@RequestMapping("findAlls")
	@ResponseBody
	public Map<String, Object> findAlls(HttpSession session,HttpServletResponse response,WholesaleModel wl,int page,int limit,String dateOne,String dateTwo) {
		//获取session对象
		DrugManagerModel manager = (DrugManagerModel) session.getAttribute("manager");
		//进行编码
		response.setCharacterEncoding("UTF-8");
		//new page
		Page pages = new Page();
		//加入分页
		pages.setPage(page);
		//加入行数
		pages.setRows(limit);
		//new map集合
		Map<String,String> map=new HashMap<>();
		//加入批发人
		map.put("pfPerson", wl.getPfPerson());
		//map.put("filId", manager.getFilId());
		//加入公司id
		map.put("filId","1");
		//加入是否有效
		map.put("isva", wl.getIsva());
		//加入页
		map.put("start", String.valueOf(pages.getStart()));
		//加入行数
		map.put("rows", String.valueOf(pages.getRows()));
		//当不等于dateOne 并且不等于dateTwo
		if(!Tools.isEmpty(dateOne)&&!Tools.isEmpty(dateTwo)){
			//对比时间大于0
			if(dateOne.compareTo(dateTwo)>0){
				//加入map集合
				map.put("dateOne", dateTwo);
				//加入map集合
				map.put("dateTwo", dateOne);
				//否则
			}else{
				//加入map集合
				map.put("dateOne", dateOne);
				//加入map集合
				map.put("dateTwo", dateTwo);
			}
			//否则不等于dateOne并且dateTwo不等于
		}else if(!Tools.isEmpty(dateOne)&&Tools.isEmpty(dateTwo)){
			//加入map集合
			map.put("dateOne", dateOne);
			//否则不等于dateTwo并且dateOne不等于
		}else if(!Tools.isEmpty(dateTwo)&&Tools.isEmpty(dateOne)){
			//加入map
			map.put("dateTwo", dateTwo);
		}
		//使用map集合查询数据
		List<WholesaleModel> list = wls.findAlls(map);
		//for循环
		for (int i = 0; i < list.size(); i++) {
			//fdList集合根据采购订单id查询
			List<WholesaleDetailModel> fdList = wholesaleDetaiService.findByPfId(list.get(i).getPfId());
			//判断如果不等于fdList
			if(!Tools.isEmpty(fdList)){
				//for循环
				for(int j = 0;j<fdList.size();j++){
					//判断fdPoList等于1
					if(fdList.size()==1){
						//判断YthNumber不等于null
						if(fdList.get(j).getYthNumber()!=null){
							//加入状态
							list.get(i).setTuihuo("0");
							
						}else{
							//加入状态
							list.get(i).setTuihuo("1");
						}
					}else{
						//判断YthNumber不等于null
						if(fdList.get(j).getYthNumber()!=null){
							//加入状态
							list.get(i).setTuihuo("0");
							break;
							
						}else{
							//加入状态
							list.get(i).setTuihuo("1");
						}
					}
					
					
				}
			}
		}
		Map<String, Object> maps = new HashMap<>();
		//需要符合layUI格式，code msg count data
		maps.put("code", 0);
		maps.put("msg", "1");
		maps.put("count", wls.findRows(map));
		maps.put("data", list);
		wl=new WholesaleModel();
		
		return maps;
	}
	
	
	
	
	
	/**
	 * 审核查询所有和条件查询分页
	 * @param response 响应
	 * @param page 页数
	 * @param limit 行数
	 * @return 批发订单
	 */
	@RequestMapping("findAllCwsh")
	@ResponseBody
	public Map<String, Object> findAllCwsh(HttpSession session,HttpServletResponse response,WholesaleModel wl,int page,int limit,String dateOne,String dateTwo) {
		//获取session对象 dru
		DrugManagerModel manager=(DrugManagerModel) session.getAttribute("manager");
		//设置字符格式
		response.setCharacterEncoding("UTF-8");
		//new page对象赋值
		Page pages = new Page();
		pages.setPage(page);
		pages.setRows(limit);
		//new 一个map对象
		Map<String,String> map=new HashMap<>();
		//赋值pfPerson
		map.put("pfPerson", wl.getPfPerson());
		//赋值filId
		map.put("filId", manager.getFilId());
		//赋值isva
		map.put("isva", "1");
		//赋值start 转换string类型
		map.put("start", String.valueOf(pages.getStart()));
		//赋值start 转换string类型
		map.put("rows", String.valueOf(pages.getRows()));
		//判断dateOne和dateTwo不为空
		if(!Tools.isEmpty(dateOne)&&!Tools.isEmpty(dateTwo)){
			//加入map集合
			if(dateOne.compareTo(dateTwo)>0){
				map.put("dateOne", dateTwo);
				map.put("dateTwo", dateOne);
			}else{
				map.put("dateOne", dateOne);
				map.put("dateTwo", dateTwo);
			}
		//判断dateOne不为空 dateTwo为空的条件下
		}else if(!Tools.isEmpty(dateOne)&&Tools.isEmpty(dateTwo)){
			map.put("dateOne", dateOne);
		}else if(!Tools.isEmpty(dateTwo)&&Tools.isEmpty(dateOne)){
			map.put("dateTwo", dateTwo);
		}
		
		List<WholesaleModel> list = wls.findAlls(map);
		Map<String, Object> maps = new HashMap<>();
		//需要符合layUI格式，code msg count data
		maps.put("code", 0);
		maps.put("msg", "1");
		maps.put("count", wls.findRows(map));
		maps.put("data", list);
		wl=new WholesaleModel();
		
		return maps;
	}
	
	
	/**
	 * 审核查询所有和条件查询分页(批发退货财务审核)
	 * @param response 响应
	 * @param page 页数
	 * @param limit 行数
	 * @return 批发订单
	 */
	@RequestMapping("findPfCwsh")
	@ResponseBody
	public Map<String, Object> findPfCwsh(HttpSession session,HttpServletResponse response,WholesaleModel wl,int page,int limit,String dateOne,String dateTwo) {
		//获取session对象 dru
		DrugManagerModel manager=(DrugManagerModel) session.getAttribute("manager");
		//设置字符格式
		response.setCharacterEncoding("UTF-8");
		//new page对象赋值
		Page pages = new Page();
		pages.setPage(page);
		pages.setRows(limit);
		//new 一个map对象
		Map<String,String> map=new HashMap<>();
		//赋值pfPerson
		map.put("pfPerson", wl.getPfPerson());
		//赋值filId
		map.put("filId", manager.getFilId());
		//赋值isva
		map.put("isva", "4");
		//赋值start 转换string类型
		map.put("start", String.valueOf(pages.getStart()));
		//赋值rows 转换string类型
		map.put("rows", String.valueOf(pages.getRows()));
		//判断dateOne和dateTwo不为空
		if(!Tools.isEmpty(dateOne)&&!Tools.isEmpty(dateTwo)){
			
			if(dateOne.compareTo(dateTwo)>0){
				map.put("dateOne", dateTwo);
				map.put("dateTwo", dateOne);
			}else{
				map.put("dateOne", dateOne);
				map.put("dateTwo", dateTwo);
			}
		//判断dateOne不为空 dateTwo为空的条件下
		}else if(!Tools.isEmpty(dateOne)&&Tools.isEmpty(dateTwo)){
			map.put("dateOne", dateOne);
		}else if(!Tools.isEmpty(dateTwo)&&Tools.isEmpty(dateOne)){
			map.put("dateTwo", dateTwo);
		}
		
		List<WholesaleModel> list = wls.findAllPf(map);
		Map<String, Object> maps = new HashMap<>();
		//需要符合layUI格式，code msg count data
		maps.put("code", 0);
		maps.put("msg", "1");
		maps.put("count", wls.findRowPf(map));
		maps.put("data", list);
		wl=new WholesaleModel();
		
		return maps;
	}
	/**
	 * 删除批发订单的方法
	 * @param pfId 批发Id
	 * @return 是否成功
	 */
	@RequestMapping("deleteWholesale")
	@ResponseBody
	public String deleteWholesale(String pfId){
		int row=wls.deleteByPrimaryKey(pfId);
		if(row>0){
			return "ok";
		}else{
			return "no";
		}
		
	}
	/**
	 * 删除批发订单的方法
	 * @param pfId 批发Id
	 * @return 是否成功
	 */
	@RequestMapping("deletePfId")
	@ResponseBody
	public String deletePfId(String pfId){
		
		int row=wls.deleteByPrimaryKey(pfId);
		if(row>0){
			return "ok";
		}else{
			return "no";
		}
		
	}
}
